Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: readExamHistoryList (시험 결과 목록 조회) 조회 성능 개선 #267

Merged
merged 1 commit into from
Oct 29, 2024

Conversation

adorableco
Copy link
Contributor

PR

✨ 작업 내용

  • readExamHistoryList 의 조회 성능을 개선하기 위해 일부 수정했습니다. (이전에 FIXME 항목에 적혀있었던 부분)
  • totalQuantity 항목을 계산하기 위해 calculateTotalQuantity() 메서드를 사용했었는데 이때 answer 를 모두 조회해야하므로 지연이 생길 수 있었습니다. 문제 전체 개수는 변경되지 않기 때문에 exam을 생성할 때 answer 개수를 totalQuantity 에 담아 저장하도록 변경했습니다.
  • ExamResult 엔티티에서 member 를 즉시 로딩할 필요가 없으므로 lazy fetch 설정했습니다.

✨ 참고 사항

  • examId를 리스트로 모아서 examResult 들을 한꺼번에 조회하는 것이므로 이전 코드처럼 일일이 해당 exam에 매치되는 examResult 의 존재 여부는 확인할 수 없습니다. 따라서 전체 조회 후 examResult 개수와 exam 개수가 다른 케이스를 examResultRepository.findByExamIdAndMemberId(examId, memberId) 에서 null로 반환되는 케이스와 동일하게 간주하고 처리했습니다.

  • 이슈와 관련없는 변경사항은 KtLint 자동 포맷입니당..


⏰ 현재 버그

x


✏ Git Close

@adorableco adorableco added ✨ Feature 기능 개발 🫧 seyeon seyeon labels Oct 29, 2024
@adorableco adorableco self-assigned this Oct 29, 2024
Copy link

테스트 커버리지 측정

File Coverage [18.18%]
ExamResult.kt 18.18%
Total Project Coverage 79.5% 🍏

@adorableco adorableco requested a review from RinRinPARK October 29, 2024 10:57
Copy link
Contributor

@RinRinPARK RinRinPARK left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인확인!!

@adorableco adorableco merged commit 8c60f83 into develop Oct 29, 2024
1 check passed
@adorableco adorableco deleted the seyeon/swm-202 branch October 29, 2024 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ Feature 기능 개발 🫧 seyeon seyeon
Projects
None yet
Development

Successfully merging this pull request may close these issues.

✨ Feat: readExamHistoryList (시험 결과 목록 조회) 조회 성능 개선
2 participants